// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
const uniPush = uniCloud.getPushManager({
	appId: "__UNI__0610D25"
})

module.exports = {
	_before: function() { // 通用预处理器
		
	},

	/**
	 * 给CID推送消息
	 * @param {string} clientId 客户端推送标识
	 * @param {string} title 标题
	 * @param {string} content 内容
	 * @param {string} text 参数
	 * @date 202-03-14
	 */
	async sendMessageToCid(clientId, title, content, text) {
		// 参数校验，如无参数则不需要
		
		// 业务逻辑
		let result = await uniPush.sendMessage({
			// 客户端推送标识push_clientid
			"push_clientid": clientId,
			"force_notification": true,
			"title": title,
			"content": content,
			"payload": {
				"text": text
			}
		})
		return result
	},
	
	/**
	 * http请求给CID推送消息
	 * @param {string} clientId 客户端推送标识
	 * @param {string} title 标题
	 * @param {string} content 内容
	 * @param {string} text 参数
	 * @date 202-03-14
	 */
	async httpSendMessageToCid() {
		// 参数校验，如无参数则不需要
		const httpInfo = this.getHttpInfo()
		let param = JSON.parse(httpInfo.body)
		
		
		let obj = {
			// 客户端推送标识push_clientid
			"push_clientid": param.clientId,
			"force_notification": true,
			"title": param.title,
			"content": param.content,
			"payload": {
				"text": param.text
			}
		}
		if(param.clientId !== ''){
			// 客户端推送标识push_clientid
			obj.push_clientid = param.clientId
		}
		// 业务逻辑
		let result = await uniPush.sendMessage(obj)
		
		return result
	},
	
	/**
	 * method1方法描述
	 * @param {string} param1 参数1描述
	 * @returns {object} 返回值描述
	 */
	/* 
	method1(param1) {
		// 参数校验，如无参数则不需要
		if (!param1) {
			return {
				errCode: 'PARAM_IS_NULL',
				errMsg: '参数不能为空'
			}
		}
		// 业务逻辑
		
		// 返回结果
		return {
			param1 //请根据实际需要返回值
		}
	}
	*/
}
